mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%mmmmmmmmmmmmmmmm%%%%%!!!!!!%%%%%%%%%%!!!!!!%%%%%mmmmmmmmmmmmmmmm%%%!!!!!!!!!!%%%%%%!!!!!!!!!!%%%mmmmmmmmmmmmmmmm%%!!!!!!!!!!!!%%%%!!!!!!!!!!!!%%mmmmmmmmmmmmmmmm%%!!!!!!!!!!!!%%%%!!!!!!!!!!!!%%mmmmmmmmmmmmmmmm%!!!!!!!!!!!!!!%%!!!!!!!!!!!!!!%mmmmmmmmmmmmmmmm%!!!!!!!!!!!!!!%%!!!!!!!!!!!!!!%mmmmmmmmmmmmmmmm%!!!!!!!!!!!!!!%%!!!!!!!!!!!!!!%mmmmmmmmmmmmmmmm%!!!!!!!!!!!!!!%%!!!!!!!!!!!!!!%mmmmmmmmmmmmmmmm%!!!!!!!!!!!!!!%%!!!!!!!!!!!!!!%mmmmmmmmmmmmmmmm%!!!!!!!!!!!!!!%%!!!!!!!!!!!!!!%mmmmmmmmmmmmmmmm%%!!!!!!!!!!!!%%%%!!!!!!!!!!!!%%mmmmmmmmmmmmmmmm%%!!!!!!!!!!!!%%%%!!!!!!!!!!!!%%mmmmmmmmmmmmmmmm%%%!!!!!!!!!!%%%%%%!!!!!!!!!!%%%mmmmmmmmmmmmmmmm%%%%%!!!!!!%%%%%%%%%%!!!!!!%%%%%mmmmmmmmmmmmmmmm%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%mmmmmmmmmmmmmmmm%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%mmmmmmmmmmmmmmmm%%%%%!!!!!!%%%%%%%%%%!!!!!!%%%%%mmmmmmmmmmmmmmmm%%%!!!!!!!!!!%%%%%%!!!!!!!!!!%%%mmmmmmmmmmmmmmmm%%!!!!!!!!!!!!%%%%!!!!!!!!!!!!%%mmmmmmmmmmmmmmmm%%!!!!!!!!!!!!%%%%!!!!!!!!!!!!%%mmmmmmmmmmmmmmmm%!!!!!!!!!!!!!!%%!!!!!!!!!!!!!!%mmmmmmmmmmmmmmmm%!!!!!!!!!!!!!!%%!!!!!!!!!!!!!!%mmmmmmmmmmmmmmmm%!!!!!!!!!!!!!!%%!!!!!!!!!!!!!!%mmmmmmmmmmmmmmmm%!!!!!!!!!!!!!!%%!!!!!!!!!!!!!!%mmmmmmmmmmmmmmmm%!!!!!!!!!!!!!!%%!!!!!!!!!!!!!!%mmmmmmmmmmmmmmmm%!!!!!!!!!!!!!!%%!!!!!!!!!!!!!!%mmmmmmmmmmmmmmmm%%!!!!!!!!!!!!%%%%!!!!!!!!!!!!%%mmmmmmmmmmmmmmmm%%!!!!!!!!!!!!%%%%!!!!!!!!!!!!%%mmmmmmmmmmmmmmmm%%%!!!!!!!!!!%%%%%%!!!!!!!!!!%%%mmmmmmmmmmmmmmmm%%%%%!!!!!!%%%%%%%%%%!!!!!!%%%%%mmmmmmmmmmmmmmmm%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm